package com.jl15988.excel2html.converter;

import java.util.HashMap;
import java.util.Map;

/**
 * 字体大小
 *
 * @author Jalon
 * @since 2024/12/11 11:04
 **/
public class FontSizeConverter {

    private static final Map<String, Map<Integer, Double>> FONT_SIZE_MAP = new HashMap<String, Map<Integer, Double>>() {{
        put("Calibri Light", new HashMap<Integer, Double>() {{
            put(36, 25.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 49.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 33.333333333333336);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("Candara Light", new HashMap<Integer, Double>() {{
            put(36, 28.0);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 54.666666666666664);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 13.333333333333334);
            put(48, 37.333333333333336);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Times New Roman", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Sylfaen", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Microsoft YaHei UI Light", new HashMap<Integer, Double>() {{
            put(36, 28.0);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 54.666666666666664);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Monospaced", new HashMap<Integer, Double>() {{
            put(36, 29.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 58.666666666666664);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 38.666666666666664);
            put(18, 14.666666666666666);
            put(20, 17.333333333333332);
            put(22, 18.666666666666668);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 22.666666666666668);
        }});
        put("Yu Gothic", new HashMap<Integer, Double>() {{
            put(36, 28.0);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 54.666666666666664);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Ebrima", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Segoe Script", new HashMap<Integer, Double>() {{
            put(36, 36.0);
            put(6, 6.666666666666667);
            put(8, 8.0);
            put(72, 70.66666666666667);
            put(9, 9.333333333333334);
            put(10, 10.666666666666666);
            put(11, 12.0);
            put(12, 12.0);
            put(14, 14.666666666666666);
            put(16, 16.0);
            put(48, 48.0);
            put(18, 18.666666666666668);
            put(20, 20.0);
            put(22, 22.666666666666668);
            put(24, 24.0);
            put(26, 25.333333333333332);
            put(28, 28.0);
        }});
        put("Segoe UI Variable", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Candara", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 53.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Microsoft JhengHei Light", new HashMap<Integer, Double>() {{
            put(36, 28.0);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 54.666666666666664);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("MV Boli", new HashMap<Integer, Double>() {{
            put(36, 34.666666666666664);
            put(6, 6.666666666666667);
            put(8, 8.0);
            put(72, 68.0);
            put(9, 9.333333333333334);
            put(10, 10.666666666666666);
            put(11, 10.666666666666666);
            put(12, 12.0);
            put(14, 13.333333333333334);
            put(16, 16.0);
            put(48, 45.333333333333336);
            put(18, 17.333333333333332);
            put(20, 20.0);
            put(22, 21.333333333333332);
            put(24, 22.666666666666668);
            put(26, 25.333333333333332);
            put(28, 26.666666666666668);
        }});
        put("宋体", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Yu Gothic UI Semibold", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 53.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 13.333333333333334);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Nirmala UI Semilight", new HashMap<Integer, Double>() {{
            put(36, 25.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 50.666666666666664);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("Segoe UI Light", new HashMap<Integer, Double>() {{
            put(36, 25.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 50.666666666666664);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 33.333333333333336);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("Segoe UI Semilight", new HashMap<Integer, Double>() {{
            put(36, 25.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 50.666666666666664);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("Tahoma", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 53.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Ink Free", new HashMap<Integer, Double>() {{
            put(36, 28.0);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 54.666666666666664);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 13.333333333333334);
            put(48, 37.333333333333336);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Georgia", new HashMap<Integer, Double>() {{
            put(36, 30.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 60.0);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 40.0);
            put(18, 16.0);
            put(20, 17.333333333333332);
            put(22, 18.666666666666668);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 24.0);
        }});
        put("方正粗黑宋简体", new HashMap<Integer, Double>() {{
            put(36, 28.0);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 56.0);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 13.333333333333334);
            put(48, 37.333333333333336);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Leelawadee UI Semilight", new HashMap<Integer, Double>() {{
            put(36, 25.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 50.666666666666664);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("Microsoft New Tai Lue", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("微软雅黑", new HashMap<Integer, Double>() {{
            put(36, 29.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 57.333333333333336);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 38.666666666666664);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 22.666666666666668);
        }});
        put("Segoe UI Historic", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Microsoft YaHei UI", new HashMap<Integer, Double>() {{
            put(36, 29.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 57.333333333333336);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 38.666666666666664);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 22.666666666666668);
        }});
        put("Franklin Gothic Medium", new HashMap<Integer, Double>() {{
            put(36, 29.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 57.333333333333336);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 38.666666666666664);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 22.666666666666668);
        }});
        put("Lucida Console", new HashMap<Integer, Double>() {{
            put(36, 29.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 58.666666666666664);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 38.666666666666664);
            put(18, 14.666666666666666);
            put(20, 17.333333333333332);
            put(22, 18.666666666666668);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 22.666666666666668);
        }});
        put("PMingLiU-ExtB", new HashMap<Integer, Double>() {{
            put(36, 22.666666666666668);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 45.333333333333336);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 30.666666666666668);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Segoe UI Symbol", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("新宋体", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Constantia", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Calibri", new HashMap<Integer, Double>() {{
            put(36, 25.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 49.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 33.333333333333336);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("Nirmala UI", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Arial Black", new HashMap<Integer, Double>() {{
            put(36, 33.333333333333336);
            put(6, 6.666666666666667);
            put(8, 8.0);
            put(72, 65.33333333333333);
            put(9, 9.333333333333334);
            put(10, 9.333333333333334);
            put(11, 10.666666666666666);
            put(12, 12.0);
            put(14, 13.333333333333334);
            put(16, 14.666666666666666);
            put(48, 44.0);
            put(18, 17.333333333333332);
            put(20, 18.666666666666668);
            put(22, 20.0);
            put(24, 22.666666666666668);
            put(26, 24.0);
            put(28, 25.333333333333332);
        }});
        put("MS UI Gothic", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("等线 Light", new HashMap<Integer, Double>() {{
            put(36, 25.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 50.666666666666664);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 33.333333333333336);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("Lucida Sans", new HashMap<Integer, Double>() {{
            put(36, 30.666666666666668);
            put(6, 5.333333333333333);
            put(8, 8.0);
            put(72, 61.333333333333336);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 14.666666666666666);
            put(48, 41.333333333333336);
            put(18, 16.0);
            put(20, 17.333333333333332);
            put(22, 18.666666666666668);
            put(24, 21.333333333333332);
            put(26, 22.666666666666668);
            put(28, 24.0);
        }});
        put("Cambria", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 53.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 13.333333333333334);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("DIN Next LT Pro Light", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("Yu Gothic UI Semilight", new HashMap<Integer, Double>() {{
            put(36, 25.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 50.666666666666664);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("Trebuchet MS", new HashMap<Integer, Double>() {{
            put(36, 25.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 50.666666666666664);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("仿宋", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Malgun Gothic Semilight", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 21.333333333333332);
        }});
        put("HoloLens MDL2 Assets", new HashMap<Integer, Double>() {{
            put(36, 32.0);
            put(6, 5.333333333333333);
            put(8, 8.0);
            put(72, 62.666666666666664);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 10.666666666666666);
            put(12, 10.666666666666666);
            put(14, 13.333333333333334);
            put(16, 14.666666666666666);
            put(48, 41.333333333333336);
            put(18, 16.0);
            put(20, 17.333333333333332);
            put(22, 20.0);
            put(24, 21.333333333333332);
            put(26, 22.666666666666668);
            put(28, 25.333333333333332);
        }});
        put("Microsoft Sans Serif", new HashMap<Integer, Double>() {{
            put(36, 28.0);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 54.666666666666664);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("MingLiU-ExtB", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Corbel Light", new HashMap<Integer, Double>() {{
            put(36, 25.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 49.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 33.333333333333336);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("Segoe UI Semibold", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 53.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 13.333333333333334);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Gadugi", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Segoe UI Emoji", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Gabriola", new HashMap<Integer, Double>() {{
            put(36, 20.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 38.666666666666664);
            put(9, 5.333333333333333);
            put(10, 5.333333333333333);
            put(11, 6.666666666666667);
            put(12, 6.666666666666667);
            put(14, 8.0);
            put(16, 9.333333333333334);
            put(48, 26.666666666666668);
            put(18, 10.666666666666666);
            put(20, 10.666666666666666);
            put(22, 12.0);
            put(24, 13.333333333333334);
            put(26, 14.666666666666666);
            put(28, 16.0);
        }});
        put("MS Gothic", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Sans Serif Collection", new HashMap<Integer, Double>() {{
            put(36, 29.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 58.666666666666664);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 38.666666666666664);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 18.666666666666668);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 22.666666666666668);
        }});
        put("Comic Sans MS", new HashMap<Integer, Double>() {{
            put(36, 29.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 58.666666666666664);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 40.0);
            put(18, 14.666666666666666);
            put(20, 17.333333333333332);
            put(22, 18.666666666666668);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 24.0);
        }});
        put("Dialog", new HashMap<Integer, Double>() {{
            put(36, 28.0);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 54.666666666666664);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("DIN Next LT Pro Medium", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 53.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Palatino Linotype", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Segoe UI Black", new HashMap<Integer, Double>() {{
            put(36, 29.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 58.666666666666664);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 38.666666666666664);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 18.666666666666668);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 22.666666666666668);
        }});
        put("等线", new HashMap<Integer, Double>() {{
            put(36, 25.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 50.666666666666664);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("Myanmar Text", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Serif", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Yu Gothic UI Light", new HashMap<Integer, Double>() {{
            put(36, 25.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 50.666666666666664);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 33.333333333333336);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("Javanese Text", new HashMap<Integer, Double>() {{
            put(36, 29.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 57.333333333333336);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 38.666666666666664);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 22.666666666666668);
        }});
        put("Lucida Sans Typewriter", new HashMap<Integer, Double>() {{
            put(36, 29.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 58.666666666666664);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 38.666666666666664);
            put(18, 14.666666666666666);
            put(20, 17.333333333333332);
            put(22, 18.666666666666668);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 22.666666666666668);
        }});
        put("Consolas", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 53.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Impact", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 21.333333333333332);
        }});
        put("Malgun Gothic", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 53.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 13.333333333333334);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Yu Gothic UI", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Arial", new HashMap<Integer, Double>() {{
            put(36, 28.0);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 54.666666666666664);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("微软雅黑 Light", new HashMap<Integer, Double>() {{
            put(36, 28.0);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 54.666666666666664);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Mongolian Baiti", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Cambria Math", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 53.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 13.333333333333334);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Segoe Print", new HashMap<Integer, Double>() {{
            put(36, 36.0);
            put(6, 6.666666666666667);
            put(8, 8.0);
            put(72, 70.66666666666667);
            put(9, 9.333333333333334);
            put(10, 10.666666666666666);
            put(11, 12.0);
            put(12, 12.0);
            put(14, 14.666666666666666);
            put(16, 16.0);
            put(48, 48.0);
            put(18, 18.666666666666668);
            put(20, 20.0);
            put(22, 22.666666666666668);
            put(24, 24.0);
            put(26, 25.333333333333332);
            put(28, 28.0);
        }});
        put("Courier New", new HashMap<Integer, Double>() {{
            put(36, 29.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 58.666666666666664);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 38.666666666666664);
            put(18, 14.666666666666666);
            put(20, 17.333333333333332);
            put(22, 18.666666666666668);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 22.666666666666668);
        }});
        put("Leelawadee UI", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("楷体", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("黑体", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("汉仪中黑 197", new HashMap<Integer, Double>() {{
            put(36, 48.0);
            put(6, 8.0);
            put(8, 10.666666666666666);
            put(72, 96.0);
            put(9, 12.0);
            put(10, 13.333333333333334);
            put(11, 14.666666666666666);
            put(12, 16.0);
            put(14, 18.666666666666668);
            put(16, 21.333333333333332);
            put(48, 64.0);
            put(18, 24.0);
            put(20, 26.666666666666668);
            put(22, 29.333333333333332);
            put(24, 32.0);
            put(26, 34.666666666666664);
            put(28, 37.333333333333336);
        }});
        put("MS PGothic", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Yu Gothic Light", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 21.333333333333332);
        }});
        put("Bahnschrift", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 53.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 13.333333333333334);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Lucida Bright", new HashMap<Integer, Double>() {{
            put(36, 29.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 58.666666666666664);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 40.0);
            put(18, 14.666666666666666);
            put(20, 17.333333333333332);
            put(22, 18.666666666666668);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 24.0);
        }});
        put("Microsoft Himalaya", new HashMap<Integer, Double>() {{
            put(36, 17.333333333333332);
            put(6, 4.0);
            put(8, 4.0);
            put(72, 33.333333333333336);
            put(9, 5.333333333333333);
            put(10, 5.333333333333333);
            put(11, 5.333333333333333);
            put(12, 6.666666666666667);
            put(14, 6.666666666666667);
            put(16, 8.0);
            put(48, 22.666666666666668);
            put(18, 9.333333333333334);
            put(20, 9.333333333333334);
            put(22, 10.666666666666666);
            put(24, 12.0);
            put(26, 12.0);
            put(28, 13.333333333333334);
        }});
        put("Corbel", new HashMap<Integer, Double>() {{
            put(36, 25.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 49.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 33.333333333333336);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("Microsoft Tai Le", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Symbol", new HashMap<Integer, Double>() {{
            put(36, 29.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 58.666666666666664);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 38.666666666666664);
            put(18, 14.666666666666666);
            put(20, 17.333333333333332);
            put(22, 18.666666666666668);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 22.666666666666668);
        }});
        put("Microsoft JhengHei UI", new HashMap<Integer, Double>() {{
            put(36, 28.0);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 56.0);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 37.333333333333336);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 21.333333333333332);
            put(28, 22.666666666666668);
        }});
        put("Webdings", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Marlett", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("MingLiU_HKSCS-ExtB", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Segoe Fluent Icons", new HashMap<Integer, Double>() {{
            put(36, 32.0);
            put(6, 5.333333333333333);
            put(8, 8.0);
            put(72, 62.666666666666664);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 10.666666666666666);
            put(12, 10.666666666666666);
            put(14, 13.333333333333334);
            put(16, 14.666666666666666);
            put(48, 41.333333333333336);
            put(18, 16.0);
            put(20, 17.333333333333332);
            put(22, 20.0);
            put(24, 21.333333333333332);
            put(26, 22.666666666666668);
            put(28, 25.333333333333332);
        }});
        put("Sitka Text", new HashMap<Integer, Double>() {{
            put(36, 30.666666666666668);
            put(6, 5.333333333333333);
            put(8, 8.0);
            put(72, 61.333333333333336);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 14.666666666666666);
            put(48, 41.333333333333336);
            put(18, 16.0);
            put(20, 17.333333333333332);
            put(22, 18.666666666666668);
            put(24, 21.333333333333332);
            put(26, 22.666666666666668);
            put(28, 24.0);
        }});
        put("Microsoft Yi Baiti", new HashMap<Integer, Double>() {{
            put(36, 25.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 49.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 33.333333333333336);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 18.666666666666668);
            put(28, 20.0);
        }});
        put("Lucida Sans Unicode", new HashMap<Integer, Double>() {{
            put(36, 30.666666666666668);
            put(6, 5.333333333333333);
            put(8, 8.0);
            put(72, 61.333333333333336);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 14.666666666666666);
            put(48, 41.333333333333336);
            put(18, 16.0);
            put(20, 17.333333333333332);
            put(22, 18.666666666666668);
            put(24, 21.333333333333332);
            put(26, 22.666666666666668);
            put(28, 24.0);
        }});
        put("MT Extra", new HashMap<Integer, Double>() {{
            put(36, 48.0);
            put(6, 8.0);
            put(8, 10.666666666666666);
            put(72, 96.0);
            put(9, 12.0);
            put(10, 13.333333333333334);
            put(11, 14.666666666666666);
            put(12, 16.0);
            put(14, 18.666666666666668);
            put(16, 21.333333333333332);
            put(48, 64.0);
            put(18, 24.0);
            put(20, 26.666666666666668);
            put(22, 29.333333333333332);
            put(24, 32.0);
            put(26, 34.666666666666664);
            put(28, 37.333333333333336);
        }});
        put("Verdana", new HashMap<Integer, Double>() {{
            put(36, 30.666666666666668);
            put(6, 5.333333333333333);
            put(8, 8.0);
            put(72, 61.333333333333336);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 14.666666666666666);
            put(48, 41.333333333333336);
            put(18, 16.0);
            put(20, 17.333333333333332);
            put(22, 18.666666666666668);
            put(24, 21.333333333333332);
            put(26, 22.666666666666668);
            put(28, 24.0);
        }});
        put("DialogInput", new HashMap<Integer, Double>() {{
            put(36, 29.333333333333332);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 58.666666666666664);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 38.666666666666664);
            put(18, 14.666666666666666);
            put(20, 17.333333333333332);
            put(22, 18.666666666666668);
            put(24, 20.0);
            put(26, 21.333333333333332);
            put(28, 22.666666666666668);
        }});
        put("Microsoft PhagsPa", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("NumberOnly", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 46.666666666666664);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("ZWAdobeF", new HashMap<Integer, Double>() {{
            put(36, 0.0);
            put(6, 0.0);
            put(8, 0.0);
            put(72, 0.0);
            put(9, 0.0);
            put(10, 0.0);
            put(11, 0.0);
            put(12, 0.0);
            put(14, 0.0);
            put(16, 0.0);
            put(48, 0.0);
            put(18, 0.0);
            put(20, 0.0);
            put(22, 0.0);
            put(24, 0.0);
            put(26, 0.0);
            put(28, 0.0);
        }});
        put("Microsoft JhengHei", new HashMap<Integer, Double>() {{
            put(36, 28.0);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 56.0);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 12.0);
            put(16, 13.333333333333334);
            put(48, 37.333333333333336);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 21.333333333333332);
            put(28, 22.666666666666668);
        }});
        put("Segoe MDL2 Assets", new HashMap<Integer, Double>() {{
            put(36, 32.0);
            put(6, 5.333333333333333);
            put(8, 8.0);
            put(72, 62.666666666666664);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 10.666666666666666);
            put(12, 10.666666666666666);
            put(14, 13.333333333333334);
            put(16, 14.666666666666666);
            put(48, 41.333333333333336);
            put(18, 16.0);
            put(20, 17.333333333333332);
            put(22, 20.0);
            put(24, 21.333333333333332);
            put(26, 22.666666666666668);
            put(28, 25.333333333333332);
        }});
        put("Microsoft JhengHei UI Light", new HashMap<Integer, Double>() {{
            put(36, 28.0);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 54.666666666666664);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("SansSerif", new HashMap<Integer, Double>() {{
            put(36, 28.0);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 54.666666666666664);
            put(9, 8.0);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 14.666666666666666);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("Yu Gothic Medium", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 53.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 9.333333333333334);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 13.333333333333334);
            put(20, 16.0);
            put(22, 17.333333333333332);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("SimSun-ExtB", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("Wingdings", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("DejaVu Math TeX Gyre", new HashMap<Integer, Double>() {{
            put(36, 30.666666666666668);
            put(6, 5.333333333333333);
            put(8, 8.0);
            put(72, 61.333333333333336);
            put(9, 8.0);
            put(10, 9.333333333333334);
            put(11, 9.333333333333334);
            put(12, 10.666666666666666);
            put(14, 12.0);
            put(16, 14.666666666666666);
            put(48, 41.333333333333336);
            put(18, 16.0);
            put(20, 17.333333333333332);
            put(22, 18.666666666666668);
            put(24, 21.333333333333332);
            put(26, 22.666666666666668);
            put(28, 24.0);
        }});
        put("Segoe UI", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 52.0);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 34.666666666666664);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 17.333333333333332);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
        put("SimSun-ExtG", new HashMap<Integer, Double>() {{
            put(36, 24.0);
            put(6, 4.0);
            put(8, 5.333333333333333);
            put(72, 48.0);
            put(9, 6.666666666666667);
            put(10, 6.666666666666667);
            put(11, 8.0);
            put(12, 8.0);
            put(14, 9.333333333333334);
            put(16, 10.666666666666666);
            put(48, 32.0);
            put(18, 12.0);
            put(20, 13.333333333333334);
            put(22, 14.666666666666666);
            put(24, 16.0);
            put(26, 17.333333333333332);
            put(28, 18.666666666666668);
        }});
        put("DIN Next LT Pro", new HashMap<Integer, Double>() {{
            put(36, 26.666666666666668);
            put(6, 5.333333333333333);
            put(8, 6.666666666666667);
            put(72, 53.333333333333336);
            put(9, 6.666666666666667);
            put(10, 8.0);
            put(11, 8.0);
            put(12, 9.333333333333334);
            put(14, 10.666666666666666);
            put(16, 12.0);
            put(48, 36.0);
            put(18, 13.333333333333334);
            put(20, 14.666666666666666);
            put(22, 16.0);
            put(24, 18.666666666666668);
            put(26, 20.0);
            put(28, 21.333333333333332);
        }});
    }};

    private static final double DEFAULT_FONT_SIZE = 8.0;

    public static double getPixelSize(String fontName, int fontPointSize) {
        if (FONT_SIZE_MAP.containsKey(fontName)) {
            Map<Integer, Double> fontSizeMap = FONT_SIZE_MAP.get(fontName);
            if (fontSizeMap.containsKey(fontPointSize)) {
                return Math.ceil(fontSizeMap.get(fontPointSize));
            }
        }
        return DEFAULT_FONT_SIZE;
    }
}
